package cn.bugstack.domain.strategy.service.armory;

import java.util.Date;

/**
 * @Author: Zchy
 * @Description: 抽奖分发接口
 * @DateTime: 10/27/2024 9:07 PM
 **/
public interface IStrategyDispatch {
    Integer getRandomAwardId(Long strategyId);

    Integer getRandomAwardId(Long strategyId, Long ruleWeightValues);

    /**
     * 根据策略ID和奖品ID，扣减奖品缓存库存
     *
     * @param strategyId  策略ID
     * @param awardId     奖品ID
     * @param endDateTime
     * @return 扣减结果
     */
    Boolean subtractionAwardStock(Long strategyId, Integer awardId, Date endDateTime);
}
